package org.springblade.modules.admin.vo.building;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.modules.admin.vo.contract.ContractExtVo;

import java.util.Date;
import java.util.List;

/**
 * @author zcc
 * @version 1.0
 * @date 2025/8/21 15:07
 */
@Data
public class BuildingUserElevatorDetailVo {

	@ApiModelProperty("项目id")
	private Long buildingId;

	@ApiModelProperty("项目名称")
	private String buildingName;

	@ApiModelProperty("电梯id")
	private Long elevatorId;

	@ApiModelProperty("电梯名称")
	private String elevatorAddress;

	@ApiModelProperty("电梯别名")
	private String elevatorAlias;

	@ApiModelProperty("使用单位名称")
	private String buildingUserName;

	@ApiModelProperty("电梯来源: -1 无状态1:安装2:新接")
	private Integer sourceStatus;

	@ApiModelProperty("-1 无状态1:重夺2:未重夺3:--")
	private Integer regainStatus;

	@ApiModelProperty("电梯细分状态")
	private Integer maintainStatus;

	@ApiModelProperty("合同业务状态")
	private Integer contractStatus;

	@ApiModelProperty("合同审核状态")
	private Integer status;

	@ApiModelProperty("合同业务扩展状态")
	private Integer contractExtStatus;

	@ApiModelProperty("自定义合同业务状态")
	private String allStatusDesc;

	@ApiModelProperty("电梯生命周期")
	private Integer lifeStatus;

	@ApiModelProperty("是否问题电梯 1:无问题0有问题")
	private Integer isQuestion;

	@ApiModelProperty("是否断档 1:有0无")
	private Integer isGap;

	@ApiModelProperty("合同id")
	private Long contractId;

	@ApiModelProperty("合同编号")
	private String contractNo;

	@ApiModelProperty("合同创建时间")
	private String contractCreateTime;

	@ApiModelProperty(value = "合同附件地址,逗号分割")
	@TableField(typeHandler = FastjsonTypeHandler.class)
	private List<ContractExtVo> contractExt;

	@ApiModelProperty("脱保类型1:服务不达标2:竞对签约3:客户暂停使用电梯4:其他")
	private Integer tuoType;

	@ApiModelProperty("其它描述")
	private String tuoTypeDesc;

	@ApiModelProperty("合同开始时间")
	private Date beginTime;

	@ApiModelProperty("合同结束时间")
	private Date endTime;

	@ApiModelProperty("合同终止时间")
	private Date stopTime;

	@ApiModelProperty("品牌")
	private String brandName;

	@ApiModelProperty("丢保时间")
	private Date tuoDate;

	@ApiModelProperty("电梯码")
	private String wxAppCodeUrl;

	@ApiModelProperty("合同审核人")
	private Long checkUserId;

	@ApiModelProperty("商务负责人")
	private Long businessUserId;

}
